package cn.bs.busuo.front.content.dao.persist.repository;


import cn.bs.busuo.front.content.pojo.entity.ContentHotelArticle;
import cn.bs.busuo.front.content.pojo.entity.ContentHotelArticleDetail;
import cn.bs.busuo.front.content.pojo.vo.ContentHotelArticleByTitleVO;
import cn.bs.busuo.front.content.pojo.vo.ContentHotelArticleDetailByIdVO;
import cn.bs.busuo.front.content.pojo.vo.UserContentHotelArticleByIdVO;

import java.util.List;

/**
 * @author: Feng
 * @since: 2023/12/8
 */
public interface UserHotelArticle {
    //判断标题是否唯一
    int contentHotelArticleByTitle(String title);
    //添加到酒店文章
    int addNewHotelArticle(ContentHotelArticle contentHotelArticle);
    //根据标题查询酒店文章Id
    Long selectHotelArticleByTitle(String title);
    //添加酒店文章到详情表
    int addNewHotelArticleDetail(ContentHotelArticleDetail contentHotelArticleDetail);
    //根据文章Id查询酒店文章是否存在
    ContentHotelArticle selectHotelArticleById(Long id);
    //用户根据文章Id删除酒店文章(修改为不显示)
    int updateHotelArticleById(Long id);
    //根据酒店Id查询文章
    List<UserContentHotelArticleByIdVO> selectHotelArticleByHotelId(Long id);
    //查看酒店文章详情
    ContentHotelArticleDetailByIdVO selectHotelArticleDetailById(Long id);
    //增加点击量
    void increaseClickCount(Long id);
    //增加好评
    int increaseUpCount(Long hotelArticleId);
    //增加差评
    int increaseDownCount(Long id);
    //增加评论量
    void increaseCommentCount(Long id);
    //查看自己的酒店文章
    List<UserContentHotelArticleByIdVO> selectUserListHotelArticle(String authorName);
    //查看酒店文章详情实体类
    ContentHotelArticleDetail selectHotelArticleDetail(Long id);
    //修改酒店文章
    int updateHotelArticle(String title,String brief,String coverUrl,String keywords,Long id);
    //修改酒店文章详情
    int updateHotelArticleDetail(String detail,Long id);

    //根据标题查询酒店文章
    ContentHotelArticleByTitleVO selectHotelArticleByTitleVO(String title);
}
